package com.wzy.designpattern.creational.factory.Simple;

/**
 * 描述 简单工厂模式
 * 创建人    Wzy
 * 创建时间: 2020-05-15  13:02
 */
public class TestClient {
    //采用直接的new 方式 代码不易于理解,如果参数较多每次调用会非常麻烦
//    public static void main(String[] args) {
//        Video video = new JavaVideo();
//        video.produce();
//    }

    /*采用简单工厂,屏蔽实现细节,易于理解*/
    public static void main(String[] args) {
        VideoFactory javaFactory = new VideoFactory();
        javaFactory.getVideo("java").produce();

        //使用反射进行改进,满足一定的开闭原则
        Video video2 = javaFactory.getVideo2(PythonVideo.class);
        video2.produce();
    }
}
